package com.hc.concurrent_likes.service;

import com.hc.concurrent_likes.entity.Mood;
import com.hc.concurrent_likes.entity.MoodDTO;

import java.util.List;

/**
 * 描述：说说接口
 * @author JXR
 * @date 2022/11/14
 */
public interface MoodService {
    /**
     * 查询所有说说
     * @return 说说DTO列表
     */
    List<MoodDTO> findAll();

    /**
     * 更新说说内容和点赞数量
     * @param mood 说说实例
     * @return 更新记录数
     */
    int update(Mood mood);

    /**
     * 点赞说说
     * @param userId 说说相应的用户id
     * @param moodId 说说id
     * @return 是否点赞
     */
    boolean praiseMood(String userId, String moodId);

    /**
     * 根据说说id查询说说
     * @param id 说说id
     * @return 说说实例
     */
    Mood findById(String id);

    /**
     * 点赞说说
     * @param userId 用户id
     * @param moodId 说说id
     * @return 是否已赞
     */
    boolean praiseMoodForRedis(String userId, String moodId);

    /**
     * 查询所有的说说
     * @return MoodDTO列表
     */
    List<MoodDTO> findAllForRedis();
}
